package com.cn.jx.manager.service.query;

import java.util.List;

import com.cn.jx.common.util.page.PageObj;
import com.cn.jx.manager.po.User;
import com.jx.base.SessionUser;
import com.jx.jpaQuery.QueryCondition;
import com.jx.util.MapObject;

/**
 * 
 * @author 姜旭
 * @version v1.11.20.2019
 * @since 
 * <p>创建时间：2019年12月1日
 * <p>功能描述：
 * <p>官方网站：management/admin/index
 * <p>邮箱地址：524577360@qq.com
 */
public interface IUserServiceQry {

	/**
	 * 
	* @Title:loginUser
	* @Description:TODO(登录用户操作 用户名指的是登录名或员工编号)
	* <p>邮箱地址: 524577360@qq.com
	* SessionUser
	* @throws
	 */
	public SessionUser loginUser(String userName, String pwd) throws Exception;

	/**
	 * 
	* @Title:findUserByPageAndParams
	* @Description:TODO(分页查询)
	* <p>邮箱地址: 524577360@qq.com
	* @param cond
	* @return
	* @throws Exception
	* PageObj<User>
	* @throws
	 */
	public PageObj<MapObject> findUserByPageAndParams(QueryCondition cond)  throws Exception;
	
	/**
	 * 
	* @Title:findUserOrgJobByPageAndParams
	* @Description:TODO(查询这个人的所有组织岗位)
	* <p>邮箱地址: 524577360@qq.com
	* @param cond
	* @return
	* @throws Exception
	* PageObj<Map<String,Object>>
	* @throws
	 */
	public List<MapObject> findUserOrgJobByPageAndParams(String userId)  throws Exception;
	
	/**
	 * 
	* @Title:getUserById
	* @Description:TODO(根据userid查询用户信息)
	* <p>邮箱地址: 524577360@qq.com
	* @param userId
	* @return
	* User
	* @throws
	 */
	public User getUserById(String userId);
	
	/**
	 * 
	* @Title:findUserByLoginName
	* @Description:TODO(根据用户名查询用户是否存在)
	* <p>邮箱地址: 524577360@qq.com
	* @throws
	 */
	public User findUserByLoginName(String username);
	
	
	/**
	 * 
	* @Title:findLeaderByOrgId
	* @Description:TODO(得到服务组织的领导层)
	* <p>邮箱地址: 524577360@qq.com
	* @throws
	 */
	public User findLeaderByOrgId(String orgId);
	
	/**
	 * 
	* @Title:initUserOrgJob
	* @Description:TODO(初始化角色岗位)
	* <p>邮箱地址: 524577360@qq.com
	* @param suser
	* void
	* @throws
	 */
	public void initUserOrgJob(SessionUser suser);
	
	/**
	 * 
	* @Title:findUserByOrgId
	* @Description:TODO(获取部门下所有员工)
	* <p>邮箱地址: 524577360@qq.com
	* @param orgId
	* @return
	* List<User>
	* @throws
	 */
	public List<String> findUserByOrgId(List<String> orgIds);

}
